草庐IT

JavaScript undefined 替换为 null

全部标签

c# - Entity Framework 以一对多方式替换集合的正确方法

假设一个客户有很多电话号码,而一个电话号码只有一个客户。publicclassPhoneNumber:IValueObject{publicstringNumber{get;set;}publicstringType{get;set;}}publicclassCustomer:IEntity{publicICollectionphones{get;privateset;}//ewatnoencapsulatedcollectionsupportpublicvoidSetPhones(paramsPhoneNumber[]phones){this.phones.Clear();this.

c# - 如何遵守 Liskov 替换原则 (LSP) 并仍然受益于多态性?

LSP说“派生类型不能改rebase类型的行为”,换句话说“派生类型必须完全可以替换它们的基类型”。这意味着如果我们在基类中定义虚方法,我们就违反了这个原则。另外,如果我们使用new关键字在驱动方法中隐藏一个方法,那么我们又违反了这个原则。换句话说,如果我们使用多态性,我们就违反了LSP!在许多应用程序中,我在基类中使用了虚拟方法,现在我意识到它违反了LSP。另外,如果你使用模板方法模式,你就违反了我经常使用它的原则。那么,当您需要继承并且还希望从多态性中获益时,如何设计符合此原则的应用程序呢?我很困惑!请参阅此处的示例:http://www.oodesign.com/liskov-s

c# - 反序列化使得字段是一个空列表而不是 null

如果我有这样的类(class):[DataContract(Name="",Namespace="")]publicclassMyDataObject{[DataMember(Name="NeverNull")]publicIListMyInts{get;set;}}当反序列化以下字符串时,有没有一种方法可以使MyInts字段成为非空空列表?stringserialized=@"{""NeverNull"":null}";MyDataObjectmyDataObject=JsonConvert.DeserializeObject(serialized);我正在使用Newtonsoft.

c# - 具有循环依赖的静态字段的反射 GetValue 返回 null

注意:以下代码实际上工作正常,但显示了我自己的解决方案中失败的场景。有关详细信息,请参阅本文底部。有了这些类:publicclassMainType{publicstaticreadonlyMainTypeOne=newMainType();publicstaticreadonlyMainTypeTwo=SubType.Two;}publicsealedclassSubType:MainType{publicnewstaticreadonlySubTypeTwo=newSubType();}获取字段One和Two:ListfieldInfos=typeof(MainType).GetF

c# - 将 System.Data.OracleClient 替换为 Oracle.DataAccess (ODP.NET)

我有一个目前正在使用System.Data.OracleClient的项目,因为它已被弃用,所以我想切换到适用于Oracle11g的ODP.NET最新版本。请让我知道以下步骤是否适合我,或者是否需要某些其他操作才能使其正常工作:删除对SYstem.Data.OracleClient的引用添加对Oracle.DataAccessdll的引用用OracleDbType替换OracleType枚举并将对数据类型的引用从VarChar更新为Varchar2等。 最佳答案 你已经差不多明白了。这是我在执行此操作时遵循的Oracle文章:htt

c# - 在 Dynamic Linq Order By 上保留 NULL 行

我正在使用下面的代码片段来动态排序我的Linq查询并且效果很好。我不擅长反射或复杂的linq查询,但我需要一种方法,当使用升序时,NULL值在最后,反之亦然。因此,如果我的属性名称是一个整数并且列值是1、3、5,则默认情况下所有NULL行都将位于末尾,而不是开头。我可以向这个表达式添加什么来实现它?此代码适用于EntityFramework,但仍需要进行NULL比较。示例list.OrderBy("NAMEDESC").ToList()类publicstaticclassOrderByHelper{publicstaticIOrderedQueryableThenBy(thisIEnu

c# - 异步任务中的 HttpContext.Current null

我有一个使用存储库的方法(userRepo):publicoverrideTaskCreateLocalUserAsync(IUseruser,stringpassword,CancellationTokencancellationToken){vartask=newTask(()=>{TUserEntitynewUser=newTUserEntity{Id=user.Id,UserName=user.UserName,Password=password};userRepo.Save(newUser).Flush();returnnewIdentityResult(true);},ca

c# - 使用 DateTime.MinValue 还是可以为 null 的 DateTime 更好?

如果我在名为“TimeLastAccessed”的类上有一个DateTime,那么这个DateTime是否可以为null更有意义:publicDateTime?TimeLastAccessed{get;set}if(TimeLastAccessed==null)//...handleit表明它从未被访问过或检查DateTime.MinValuepublicDateTimeTimeLastAccessed{get;set;}if(TimeLastAccessed==DateTime.MinValue)//...handleit? 最佳答案

c# - 在 C# 中,是否应该检查传递给方法的引用是否为 null?

嗯,几个月前我问过asimilarquestionaboutCandC++,但由于整个“WindowsPhone”问题,我最近更加关注C#。那么,在C#中,是否应该在方法边界检查NULL?我认为这与C和C++不同,因为在C#中,通常可以确定给定引用是否有效——编译器会阻止将未初始化的引用传递到任何地方,因此唯一可能的错误是它为null.此外,在.NETFramework中为这些东西定义了一个特定的异常,即ArgumentNullException。,这似乎将程序员认为在传递无效null时应该得到的东西编成法典。我个人的意见再次表明,这样做的调用者是错误的,并且说调用者应该向他们抛出NR

c# - 用于替换除数字之外的所有字符的正则表达式

如果我有一串数据,里面有数字。这种模式是不一致的。我想从字符串中提取所有数字,并且只提取一个定义为允许的字符。我认为RegEx可能是执行此操作的最简单方法。你能提供一个可以做到这一点的正则表达式模式吗,因为我认为正则表达式是巫术,只有正则表达式医学人才知道它是如何工作的例如/"Q1W2EE3R45T"="12345""WWED456J"="456""ABC123"="123""N123"="N123"//Nisanallowedcharacter更新:这是我的代码:vardata=Value.Split(newchar[]{','},StringSplitOptions.RemoveE